Este protocolo está dirigido a todas aquellas personas que quieran hacer mapas en R o QGIS (dos entornos con software libre) utilizando un mapa base, y que entiendan del reclamo de Argentina de soberanía sobre las Islas Malvinas.
Si bien este documento no provee una solución explícita para Python ni para otros softwares/lenguajes libres, invito a contribuir a quienes lo deseen: posiblemente algo de lo aquí documentado pueda ser de utilidad. Por otro lado, en los softwares privativos de Sistemas de Información Geográfica muy probablemente podrá utilizarse la solución provista para QGIS, basada en XYZ tiles.
El protocolo fue redactado en julio de 2020, con colaboración de Malena Libman que señaló por dónde iba la solución: usar como mapa base a Argenmap v2, un gran trabajo elaborado por el Instituto Geográfico Nacional (IGN) de la República Argentina.
El repositorio del proyecto está en Github: https://github.com/nmorandeira/IGN_Malvinas.
Las Islas Malvinas son muchas veces etiquetadas con un nombre incorrecto, no consistente con nuestro reclamo histórico y vigente de soberanía sobre las islas. ¿Por qué los argentinos y argentinas generan mapas con un nombre distinto a “Islas Malvinas”? Al discutirlo con colegas, me encuentro con que algunas personas justifican el error porque, dicen, sus mapas están en inglés. Pero ojo: la única traducción de “Islas Malvinas” al inglés es “Malvinas Islands”. Así lo considera Cancillería Argentina (ver por ejemplo este documento en inglés: https://www.cancilleria.gob.ar/en/news/newsletter/question-malvinas-islands-support-argentinas-claim). Usar el nombre inglés o usar un binomio (Nombre argentino / Nombre inglés) implica simbólicamente un retroceso en nuestra reivindicación de soberanía sobre las islas.
Parte de esta inquietud surgió en un slack de RLadies-Buenos Aires. Luego también me encontré con mapas con nombres no apropiados, publicados por científicos/as argentinos/as en revistas científicas internacionales.
Quienes sólo tengan interés en la solución práctica, pueden saltearse el próximo apartado sobre el origen del problema e ir a la sección Protocolo para R ó Protocolo para QGIS.
Tanto en QGIS como en R (en las representaciones con Leaflet), solemos usar como mapas base a las capas de OpenStreetMap (OSM) o de otros proveedores. En QGIS, lo hacemos a través de XYZ tiles; en R a través de los proveedores de Leaflet. Hay muchos proveedores de Leaflet (ver más adelante, spoiler: ninguno de los usualmente listados dice “Islas Malvinas”), pero voy a enfocarme en OSM porque es uno de los más usados y porque tiene muchas ventajas frente a otros. En contraste con otros proveedores de datos geográficos, OSM es libre: podemos descargar la información, usar en nuestras publicaciones mapas con sus datos y también aportar mapeando (como hacen muchas personas en nuestro país). Sin embargo, OSM es un proyecto global y no reconoce nuestra soberanía sobre las islas.
¿Cómo se ven las Islas Malvinas en los mapas de OSM (los que por defecto cargamos en R - Leaflet y usualmente en QGIS)? Así: https://www.openstreetmap.org/#map=7/-52.770/-66.176
Por defecto, OSM representa los nombres en el lenguaje del país local (por ejemplo, si navegamos en el mapa de OSM podemos ver que los nombres de localidades de Brasil están en portugués y los nombres de localidades de China están en chino). En el caso de las Malvinas, al asignar las islas a los “territorios británicos de ultramar” les asigna el nombre “Falkland Islands”. Aquí un detalle de la información asociada a la Relación 2185374 de OSM, correspondiente al territorio de las Islas Malvinas. Copio y comento las partes más relevantes a esta discusión:
| Relación 2185374 de OSM | Comentario |
|---|---|
| El nombre asignado a la relación 2185374 ya es indicativo del problema. | |
| Algunas etiquetas. Adivinen qué significa FK. | |
| OSM dice que: la capital es Stanley (¿Puerto Argentino?), el idioma por defecto, según OSM, es inglés. ¿Son territorios disputados? Sí. Pero la bandera es de una jurisdicción supuestamente inglesa; y el nombre internacional es “Falkland Islands (Malvinas) (según se señala más abajo, sería la convención de las Naciones Unidas, pero tampoco es la etiqueta que se muestra por defecto)”. | |
| Esta etiqueta “name” es la más importante: es como por defecto se llama a las islas en todos los mapas que despleguemos. Acá está nuestro problema de mapeo. | |
| Esta etiqueta “name:es” podría ser una solución parcial. Significa: “nombre en español”. Vamos más adelante sobre ese punto. | |
| De aquí me interesa destacar la nota, porque me fue señalada por parte de la comunidad de OSM. La traducción literal de la nota es: “La política de OSM es que el ‘name’ a ser utilizado es el hablado por los habitantes. Plural. Malvinas es el nombre en español, y es ingresado en name:es. La convención de las Naciones Unidas se muestra como ‘int_name’.”. Sin embargo, esta aclaración desconoce al menos dos cuestiones: 1) Hay un tema de soberanía, no de traducción: la única traducción de Islas Malvinas al inglés es Malvinas Islands; 2) El lenguaje oficial de Argentina es el castellano o español. | |
| Más información sobre las fuentes de información asociadas al objeto. Muy curioso: el objeto es parte de los “territorios británicos de ultramar”, que parecen ser territorios ocupados y colonias desperdigados por todo el mundo: https://www.openstreetmap.org/relation/3969434 |
Una solución parcial sería cargar en nuestros mapas la etiqueta name:es por defecto. ¿Qué implicaría? Que usaríamos el nombre en castellano, no sólo para las Islas Malvinas, sino para cualquier territorio, incluyendo Brasil y China (siguiendo el ejemplo de más arriba). No resuelve el problema de fondo sobre cómo se posiciona OSM ante el conflicto, pero sería una solución parcial. Sin embargo, esto no es tan fácil de hacer para usuarias/os finales (a quienes va dirigido este documento).
Una ventaja de que OSM sea libre es que puede ser descargado y vuelto a subir en otros servidores, como por ejemplo se ha hecho en OSM-Argentina, que pudo solucionar algunos problemas (el nombre de las islas) pero no otros (el nombre de ciudades y accidentes geográficos): https://openstreetmap.org.ar/#6.11/-53.41/-63.924.
Por otro lado, el Instituto Geográfico Nacional (IGN) sí lo resuelve: en su Argenmap v2 representa correctamente la toponimia oficial de las jurisdicciones y accidentes geográficos de Argentina. Acá encuentran documentación de qué información representa Argenmap: https://www.ign.gob.ar/AreaServicios/Argenmap/Introduccion, básicamente “utiliza los datos oficiales publicados por el Instituto Geográfico Nacional a través de su servicio WMS hasta la escala 1:250.000 (es decir, a partir del nivel de zoom 12)”. Aquí pueden ver cómo quedan las Islas Malvinas: https://mapa.ign.gob.ar/. Podemos notar que no sólo es correcto el nombre de las islas, sino también el de la “Provincia de Tierra del Fuego, Antártida e Islas del Atlántico Sur”. Y también el nombre de ríos, lagunas, cerros, montañas, etc (zoom en las islas o, por qué no, en un área que cada uno conozca, por ejemplo en los humedales del Paraná están cargados los nombres oficiales de las lagunas).
Conclusión: la mejor solución para nuestro problema de representación de las Islas Malvinas es usar como mapa base a Argenmap v2 de IGN.
Para practicar la visualización de datos geográficos con R y QGIS, planteo un ejercicio tipo. El objetivo del ejercicio es representar las áreas protegidas de Argentina y los límites de la zona económica exclusiva (ambas capas son de IGN) en R, con un mapa base adecuado. En particular, nos interesa representar adecuadamente al Área Protegida Banco Burwood II y su entorno.
El primer paso es obtener las capas de datos (áreas protegidas y límites de la zona económica exclusiva) del sitio oficial de IGN y descomprimirlas:
areasprotegidas <- tempfile()
download.file("http://ramsac.ign.gob.ar/operaciones_sig/shp_from_geoserver/download.php?f=c2hwOjphcmVhX3Byb3RlZ2lkYS56aXA%3D",areasprotegidas, mode="w")
unzip(areasprotegidas, exdir = "data/")
limite_ZEE <- tempfile()
download.file("http://ramsac.ign.gob.ar/operaciones_sig/shp_from_geoserver/download.php?f=c2hwOjpsaW5lYV9kZV9saW1pdGVfMDcwMTA3LnppcA%3D%3D",limite_ZEE, mode="w")
unzip(limite_ZEE, exdir = "data/")
Se trata de dos capas de con representación de tipo vectorial shapefile, una con polígonos y la otra con líneas. Ahora las cargaremos en R, como objeto espacial de tipo vectorial.
library(rgdal)
library(sp)
areasprotegidas <- readOGR(dsn = "data", layer = "area_protegida", verbose = FALSE) #nombre de la capa, sin .shp
limite_ZEE <- readOGR(dsn = "data", layer = "linea_de_limite_070107", verbose = FALSE) #nombre de la capa, sin .shp
Vamos ahora a visualizar estas capas en un mapa, usando la librería tmap y el modo interactivo view.
library(tmap)
tmap_mode("view") #que la salida sea en el visualizador interactivo, con Leaflet
mapa <- tm_shape(areasprotegidas) +
tm_polygons(col="green") +
tm_shape(limite_ZEE) +
tm_lines(col="violet")
mapa